﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.DynamicData;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default_EditEntityTemplate : System.Web.DynamicData.EntityTemplateUserControl {
    private MetaColumn currentColumn;

    protected override void OnLoad(EventArgs e) {
        foreach (MetaColumn column in Table.GetScaffoldColumns(Mode, ContainerType)) {
            currentColumn = column;
            Control item = new DefaultEntityTemplate._NamingContainer();
            EntityTemplate1.ItemTemplate.InstantiateIn(item);
            EntityTemplate1.Controls.Add(item);
        }
    }

    protected void Label_Init(object sender, EventArgs e) {
        Label label = (Label)sender;
        label.Text = currentColumn.DisplayName;
    }

    protected void Label_PreRender(object sender, EventArgs e) {
        Label label = (Label)sender;
        DynamicControl dynamicControl = (DynamicControl)label.FindControl("DynamicControl");
        FieldTemplateUserControl ftuc = dynamicControl.FieldTemplate as FieldTemplateUserControl;
        if (ftuc != null && ftuc.DataControl != null) {
            label.AssociatedControlID = ftuc.DataControl.GetUniqueIDRelativeTo(label);
        }
    }

    protected void DynamicControl_Init(object sender, EventArgs e) {
        DynamicControl dynamicControl = (DynamicControl)sender;
        dynamicControl.DataField = currentColumn.Name;
    }

}
